iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0
Mobile Development

我的 Flutter 進化論:30 天打造「Crew Up!」的架構之旅系列 第 30

Day 30 - 完賽心得:30 天的挑戰與成長

  • 分享至 

  • xImage
  •  

Day 30 - 完賽心得:30 天的挑戰與成長

前言:一個不一樣的挑戰

大家好,歡迎來到第三十天,也是這段旅程的最後一天。今天,我想與你分享這 30 天以來的真實心得與感受。

這 30 天對我來說是什麼?

這是我作為 Flutter 工程師四年職涯以來的第 10 個 APP,但卻是我遇過最硬的一次挑戰。

開發時間軸:從離職到鐵人賽

這個專案基本上是我今年 9 月離職後開始開發的。離開舒適圈後,我決定投入一個多月的時間,全心打造這個作品。這一個多月的實作紀錄,濃縮成了這 30 天的鐵人賽文章。

時間投入:每天 10 小時的堅持

鐵人賽的挑戰對我來說非常硬。我幾乎每天投入了 10 個小時左右的時間,基本上是每一天開發的內容就是當天的文章。因為我每一篇文章都是經過:

  1. 不斷地實作:確保程式碼真實可運行
  2. 反覆撰寫:讓技術內容易懂且有深度
  3. 確認優化:確保品質達到標準

只有在這些步驟都完成後,我才敢繳交到鐵人賽。

技術上的突破

1. 架構設計的實踐

這 30 天的文章,不僅僅是想要傳遞好的架構可以在開發上更好維護,更是我將理論轉化為實踐的過程。我想證明:

  • Feature-First Clean Architecture 在實際專案中的可行性
  • 設計系統對於開發效率的提升
  • 良好的測試架構帶來的信心

2. Firebase 全方位整合

更是結合了 Firebase 的多項服務:

  • Authentication:使用者登入與身份驗證
  • Cloud Firestore:即時資料庫
  • Cloud Storage:圖片與檔案儲存
  • Cloud Messaging:推播通知
  • Crashlytics:錯誤追蹤
  • Performance Monitoring:效能監控
  • Analytics:使用者行為分析

對於我來說,後端的串接是一大的挑戰,更是跨出我的舒適圈。

3. AI 整合的探索

  • 整合 Google Gemini API
  • 實作 AI 聊天室氛圍助手
  • 探索 Figma MCP 設計到程式碼的轉換

知識的實踐與整合

讀書會的成果

把我在今年與讀書會夥伴一起讀 Flutter Engineering 這一本書的內容實踐出來,將理論轉化為真實的程式碼。

團隊協作的結晶

把與 CREW UP 夥伴設計出來的作品開發出來,從設計到實作,完整呈現一個產品的誕生過程。

感謝 CREW UP 的夥伴們,對於我想開發出來給我非常大的支持。有你們的鼓勵與信任,讓我能夠全心投入這個專案,將設計理念轉化為真實可用的產品。

技能的整合

更是想要整合我會的技能在這邊,告訴大家我是一位可以:

  • 從 0 到 1 做出完整的應用程式
  • 建立良好的設計系統
  • 建構優質的開發框架
  • 一位在乎品質的工程師

這段旅程教會我什麼?

1. 堅持的力量

每天 10 小時、連續 30 天,這不僅是技術的挑戰,更是意志力的考驗。但正是這份堅持,讓我完成了這個看似不可能的任務。

2. 品質的重要性

寧願多花時間確認品質,也不願意草率交差。這是對讀者的尊重,也是對自己的要求。

3. 學習的方法

最好的學習方式就是實作,然後用文章的形式教授他人。在這個過程中,你會發現自己的盲點,也會更深入理解技術的本質。

4. 跨出舒適圈

從前端到後端、從開發到部署、從設計到實作,每一步都是新的挑戰。但也正是這些挑戰,讓我成長為更全面的工程師。

5. AI 協作開發的力量

在這 30 天中,我也非常讚嘆現在開發的效率。使用 AI Agent 的開發模式,讓我可以透過 AI 的教學與協作,大幅提升開發效率。

這種新的開發方式不僅讓程式碼撰寫更快速,更重要的是:

  • 學習加速:AI 可以即時解答問題,提供最佳實踐
  • 程式碼品質:AI 協助審查與優化程式碼結構
  • 文件撰寫:讓 30 天的文章更加完整與詳盡
  • 問題除錯:快速找到問題癥結點並提供解決方案

這次的經驗讓我看見了 AI 輔助開發的未來,它不是取代工程師,而是成為我們最強大的夥伴,讓我們能夠專注在更有創意和價值的工作上。

展望未來:新的旅程即將開始

發現自己的熱情所在

在這一個多月的開發過程中,我有一個重要的發現:我發現使用者體驗(UX)非常重要體驗也非常重要。技術再好,如果使用者不喜歡用,產品就失去了意義。

更重要的是,我發現我喜歡做遊戲化的 APP

遊戲化不僅僅是加入積分或徽章,而是如何讓使用者在使用產品的過程中,感受到樂趣、成就感和持續的動力。這是一個充滿挑戰且令人興奮的領域。

關於 Crew Up 這個專案

Crew Up 對我來說,是一個非常寶貴的學習歷程。透過這個專案,我:

  • 完整實踐了 Feature-First Clean Architecture
  • 整合了 Firebase 的完整生態系
  • 實作了 AI 聊天助手功能
  • 建立了完善的設計系統

這個專案已經達成了它的目標:證明我能夠從 0 到 1 打造一個完整、有品質的應用程式。

📱 Crew Up Demo 影片

想看看實際成果嗎?這是完整的 APP 功能展示及開發 Firebase 實作資訊:

Crew Up Demo

至於上架,目前我並沒有這個打算。這個專案更像是我的技術展示作品,一個完整的學習紀錄。

下一步:深入研究遊戲化

接下來,我會開始深入研究遊戲化這個領域:

  • 學習遊戲化框架與設計原則
  • 研究使用者動機理論(如 Octalysis Framework)
  • 探索如何讓使用者用 APP 的體驗可以更好
  • 實作遊戲化工具 APP

我想做的是:

  • 做自己熱愛的事情
  • 創造讓使用者真正喜歡使用的產品
  • 將遊戲化的樂趣融入日常工具中

這是我的下一個挑戰,從純技術開發走向更注重體驗與樂趣的產品設計。我相信這段鐵人賽的經歷,已經為我打下了堅實的基礎。

邀請你一起成長

如果有興趣認識我的朋友,歡迎追蹤我的 Instagram:

👉 @cloudia.live

我將會持續分享:

  • 🎮 遊戲化設計的學習與研究
  • 💡 技術探索與實踐
  • 🌟 生活中的大大小小的體驗
  • 🚀 產品開發的幕後故事

感謝每一位看過我文章的人

感謝這 30 天來陪伴我的每一位讀者。

你們的閱讀、你們的回饋、你們的支持,是我持續前進的動力。

這一個多月下來的實作紀錄,凝聚成這 30 天的文章,能夠與你們分享,是我最大的榮幸。

希望這 30 天的文章,能夠為你的 Flutter 開發旅程帶來一些幫助,也希望能啟發更多人做自己熱愛的事情

讓我們一起成為更好的工程師,創造更好的產品!


📋 30 天完整文章列表

想閱讀完整系列文章嗎?歡迎到 iT 邦幫忙鐵人賽閱讀:

👉 我的 Flutter 進化論:30 天打造「Crew Up!」的架構之旅

基礎架構篇 (Day 1-6)

  • Day 1 - 專案啟動與架構選型
  • Day 2 - 設計系統的哲學與實作
  • Day 3 - 元件的藝術:打造類型安全、高效能的 Flutter UI 分子
  • Day 4 - 國際化與在地化:打造全球化的 App
  • Day 5 - go_router 實戰:從基礎路由到完整導航解決方案
  • Day 6 - Riverpod 2.0 實戰攻略:從架構設計到效能優化的完整指南

資料層篇 (Day 7-9)

  • Day 7 - Repository 模式:軟體架構的自由基石
  • Day 8 - 儲存架構設計:分層儲存策略與安全邊界
  • Day 9 - Cache、TTL 與版本管理:實現高效能的資料快取策略

錯誤處理與測試篇 (Day 10-12)

  • Day 10 - 錯誤處理與日誌記錄:建立完整的錯誤追蹤機制
  • Day 11 - Unit Test 與 AAA 模式:為 Clean Architecture 建立品質防護網
  • Day 12 - UI 測試實戰:打造穩固的架構防護網

Firebase 整合篇 (Day 13-20)

  • Day 13 - Firebase 專案設定:從多環境管理到雲端整合
  • Day 14 - Firebase Authentication:從 Google 登入到完整認證系統
  • Day 15 - Cloud Firestore:即時資料庫設計與優化
  • Day 16 - Firebase Storage:檔案上傳與管理的最佳實踐
  • Day 17 - Firebase Cloud Messaging - 基礎理論與跨平台實戰
  • Day 18 - Firebase Crashlytics - 錯誤追蹤與分析系統
  • Day 19 - Firebase Analytics:數據驅動的產品決策
  • Day 20 - Firebase Performance Monitoring:數據驅動的效能優化

AI 與進階功能篇 (Day 21-22)

  • Day 21 - Google Gemini API:為 App 加入 AI
  • Day 22 - AI Agent 實作:聊天室氣氛分析與建議系統

部署與 CI/CD 篇 (Day 23-26)

  • Day 23 - GitHub Actions CI/CD 實作:從程式碼品質到自動化部署
  • Day 24 - Android 建置與簽名實作:從建置錯誤到自動化部署
  • Day 25 - iOS 上架挑戰實戰:從證書錯誤到 TestFlight 部署
  • Day 26 - iOS 部署成功:從 App Store Connect API Keys 到完整自動化流程

AI 開發工具篇 (Day 27-29)

  • Day 27 - Cursor + Claude 實戰指南:從 Agent 到 Commit 的完整開發流程
  • Day 28 - Cursor 進階功能 + Figma MCP:解決設計與開發的鴻溝
  • Day 29 - Flutter 效能優化:從卡頓到流暢的實戰經驗

完賽篇 (Day 30)

  • Day 30 - 完賽心得:30 天的挑戰與成長

📝 專案資訊

  • 專案名稱: Crew Up!
  • 開發日誌: Day 30 - 完賽心得
  • 文章日期: 2024-01-30
  • 技術棧: Flutter, Firebase, Clean Architecture, AI Integration
  • 作者 Instagram: @cloudia.live

🙏 致謝

感謝所有在這段旅程中支持我的人:

  • 讀書會夥伴們:一起研讀 Flutter Engineering,共同成長
  • CREW UP 團隊:提供優秀的設計與產品構想,更給予我開發實現的信心與全力支持
  • AI 開發工具:Vibe Coding 與 AI 協作,大幅提升開發效率與文章品質
  • 鐵人賽參賽者們:相互鼓勵與學習,一起完成這個挑戰
  • 所有讀者:你們的閱讀、回饋與支持是我最大的動力

這不是結束,而是新的開始!

讓我們繼續在軟體開發的道路上前進,創造更多美好的產品!

🚀 See you in the next adventure!


上一篇
Day 29 - Flutter 效能優化:從卡頓到流暢的實戰經驗
系列文
我的 Flutter 進化論:30 天打造「Crew Up!」的架構之旅30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
保羅
iT邦新手 2 級 ‧ 2025-10-16 20:57:34

恭喜完賽/images/emoticon/emoticon07.gif

我要留言

立即登入留言